iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
Software Development

闖入DLL的世界 DLL我要進來了哦系列 第 11

第十一天:DLL hook是甚麼

  • 分享至 

  • xImage
  •  

歡迎來到第十一天,前面我們初步介紹DLL以及DLL的調用,在實作注入之前我們先來探討一下DLL hook常常聽到,但是那到底是甚麼東西?廢話不多說我們直接進入。


DLL hook

又稱為鉤子編程,也是掛鉤,透過攔截DLL間的函數調用、消息傳遞、事件傳遞來進行修改

有甚麼用途呢

調試、擴展但常常也被用作惡意代碼;遊戲外掛是一種很經典的例子。

要怎麼去達成這個目標呢?

修改exe

在應用程式執行前,修改exe檔,這類型的方法是透過找到函數調用的入口,修改入口點讓函數被執行前先執行其他的代碼。

運行時修改

透過運行的時候插入事件鉤子,在Winodws系統中允許插入鉤子以處理或修改對話框、滾動條、菜單等的系統事件;插入、刪除、處理或修改鍵盤滑鼠事件。Linux則是允許類似的鉤子通過NetFilter以處理網絡事件。
也可以攔截進程的函式庫調用,在函數調用開始處注入修改碼。

結語

今天初步了解DLL hook是甚麼東西以及怎麼去實現,當然在現在很多程式都有很多預防機制,這其中又牽扯到bypass甚麼等等,而要將那個bypass弄掉又更麻煩了,今天就先到這裡了,我們明天見。


上一篇
第十天:整理一下這十天以來的東西
下一篇
# 第十二天:遠程注入DLL
系列文
闖入DLL的世界 DLL我要進來了哦30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言